The present invention relates to a system for transmitting business information, such as orders, from client applications to backend software applications and vice versa and, in particular, systems that have sporadic connectivity.
Modern business software applications leverage the capabilities of networked computers to both extend the reach of these computers and expand their capabilities. Records may be kept in a centralized location accessible by multiple users on multiple devices. At the same time, these records may be protected from unauthorized access. By accessing a network, networked devices with low processing may also offload their processing needs to a server. Using this method, these lighter and cheaper devices may still run highly sophisticated programs.
FIG. 1 illustrates a computerized network system 100 that is commonly used in the art. A user device 110 connects to a server 120 via a network 130. The user device 110 may use a thin client application 140 to access a backend software application 150. A thin client merely sends data to the backend software application 150, which performs all processing. An example of a thin client application 140 would be a web browser. Alternatively, the user device 110 may use a thick client application 160, in which some of the processing is performed on the user device 110 before sending any data to the backend software application 150 to be processed. A thick client 160 may store some of the data before transmitting the data to the backend software application 150. The thick client application 160 may store some of the data temporarily in a persistency module 170 also located on the user device 110. A persistency module 170 is a storage application that stores data for processing or for sending to the backend software application 150. A middleware application 180 may be used to control the access to the backend software application 150 by the client application.
This process becomes more complicated with devices that are not permanently connected to the network. This issue particularly arises for devices that connect to the server via a wireless network. Any wireless network, regardless of the range, is going to be subject to “dead zone” in which no connection is available. Thick client applications 140 may still operate in such an environment. FIG. 2 illustrates in a flowchart one method 200 commonly used to operate networked application in an environment with sporadic connectivity. The thick client application 160 creates a business data transmission (BDT) (Block 210). The business data may be any kind of data indicating an action for the backend software application 150 to perform. For example, the business data may be a part to be ordered from a central warehouse, a change as to the status of some item being tracked, a human resources file to be updated, or other action to be taken in the course of a business enterprise. The thick client application 160 then stores the BDT in the persistency module 170 (Block 220). The thick client application 160 then allows the user to trigger synchronization of the business data stored in the persistency module 170 with the backend software application 150 (Block 230). Synchronization may include updating the business data stored in the server by the backend software application 150 if the business data previously existed or adding the business data if it is new.
Some new innovations have been added to this method recently, such as applications that check for network availability and automatically link the user device 110 to an available network 130. FIG. 3 illustrates in a flowchart one method 300 commonly used to operate networked application with a network selection module in an environment with sporadic connectivity. The thick client application 160 allows the user to create a BDT (Block 310). The thick client application 160 then stores the BDT in the persistency module 170 (Block 320). A network selection module checks the availability of networks in the area of the user device 110 (Block 340). The thick application then triggers synchronization of the business data stored in the persistency module 170 with the backend software application 150 once a network connection is established (Block 340).
What is needed is a method of allowing for sporadic connectivity without requiring a thick client application being stored on the user device.